home *** CD-ROM | disk | FTP | other *** search
Ruby Source | 2007-02-12 | 487 b | 38 lines |
- # this is just a proof of concept toy.
-
- class RegOr
- def initialize(re1, re2)
- @re1 = re1
- @re2 = re2
- end
-
- def =~ (str)
- @re1 =~ str or @re2 =~ str
- end
- end
-
- class RegAnd
- def initialize(re1, re2)
- @re1 = re1
- @re2 = re2
- end
-
- def =~ (str)
- @re1 =~ str and @re2 =~ str
- end
- end
-
- class Regexp
- def |(other)
- RegOr.new(self, other)
- end
- def &(other)
- RegAnd.new(self, other)
- end
- end
-
- if __FILE__ == $0
- p "abc" =~ /b/|/c/
- p "abc" =~ /b/&/c/
- end
-